Reducing redundancy of processing by acquiring image correction or a parameter that has been already performed at another apparatus

ABSTRACT

An image processing apparatus includes a reception unit configured to receive an image and a correction instruction with respect to the image; an acquisition unit configured to acquire a history of image processing performed to the image from the image; an update unit configured to update the correction instruction based on the history; and an image processing unit configured to perform processing indicated by the correction instruction updated by the update unit to the image.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing apparatus, an imageprocessing method, a printing system, and a computer-readable storagemedium which perform image processing.

2. Description of the Related Art

In a printing system which involves image correction processing such asa print order processing system discussed in Japanese Patent ApplicationLaid-Open No. 2006-172333, processes are sometimes divided to aplurality of apparatuses so that a load of the processes is distributed.

In many cases, image correction processing includes a series ofprocesses, i.e., first determining whether there is a correction target,second extracting a parameter required for the correction processing,and finally correcting an image with use of the extracted parameter.(The process for determining where there is a correction target may beomissible depending on a type of correction processing.) For example,red-eye correction for correcting red-eye phenomenon (a phenomenon inthat eyes of a subject become red in a photograph due to shooting withuse of, for example, a flash of a camera) is performed in the followingmanner. It is determined by face detection whether there is a face in animage. If there is a face, a position and a size of a pupil areextracted as parameters. Then, the reddened pupil is replaced with acolor prepared in advance based on the extracted parameters.

A printer discussed in Japanese Patent Application Laid-Open No.2006-172333 is not configured to acquire information indicating, forexample, what kind of parameter has been acquired from image data atanother apparatus, or what kind of processing has been performed on theimage data. Therefore, there is a possibility that the printer mayredundantly perform processing that has already been performed at theother apparatus, and it contributes to reduced processing efficiency ofthe whole system.

Further, in the system discussed in Japanese Patent ApplicationLaid-Open No. 2006-172333, a customer's personal computer (PC) alsoperforms correction processing to an image acquired by, for example, adigital camera. Since image data input from a digital camera is oftenalready coded into a Joint Photographic Experts Group (JPEG) format orthe like, such an image needs to be decoded for correction processing.However, repetition of coding and decoding may deteriorate an imagequality. Therefore, it is preferable to transmit a corrected imagewithout applying high-compression coding to another image processingapparatus. However, performing image correction at an early stage of asystem leads to an increase in a traffic amount between the imageprocessing apparatuses.

SUMMARY OF THE INVENTION

According to the present invention, it is possible to reduce redundancyof execution of processing to improve processing efficiency of a system,since the system is configured to acquire image correction or aparameter that has been already performed at another image processingapparatus.

Further, according to the present invention, it is possible toeffectively disperse a load of image correction processing to improvethe processing efficiency of the system, while preventing deteriorationof image quality due to coding and reducing an increase in a trafficamount.

An image processing apparatus includes a reception unit configured toreceive an image and a correction instruction with respect to the image,an acquisition unit configured to acquire a history of image processingperformed to the image from the image, an update unit configured toupdate the correction instruction based on the history, and an imageprocessing unit configured to perform processing indicated by thecorrection instruction updated by the update unit to the image.

Further features and aspects of the present invention will becomeapparent from the following detailed description of exemplaryembodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate exemplary embodiments, features,and aspects of the invention and, together with the description, serveto explain the principles of the invention.

FIG. 1 is a cross-sectional view illustrating an overall configurationof a printing apparatus according to an exemplary embodiment of thepresent invention.

FIG. 2 is a block diagram illustrating a configuration of a printingsystem according to the exemplary embodiment of the present invention.

FIG. 3 is a flowchart illustrates integration processing of correctionprocessing information.

FIG. 4 is a flowchart illustrating the integration processing of thecorrection processing information.

FIG. 5 is a flowchart illustrating processing performed by an imageprocessing unit.

FIG. 6 is a flowchart illustrating processing performed by a printingcontrol unit.

FIG. 7 is a block diagram illustrating a configuration of a printingsystem according to an exemplary embodiment of the present invention.

FIG. 8 illustrates a menu for setting a policy to be applied tocorrection processing items and a menu for setting the correctionprocessing items.

FIG. 9 illustrates an apparatus setting table, a job information table,and an integrated table.

FIG. 10 illustrates an example of a division list indicating acorrespondence between detection processing and correction processing.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the inventionwill be described in detail below with reference to the drawings.

It should be understood, however, that relative arrangements ofcomponents, shapes of apparatuses and the like described in theexemplary embodiments are merely an example, and the intention is not tolimit the scope of the present invention thereto.

Further, as used in the specification and the claims, the term “printer”may include not only a dedicated apparatus specialized for the printingfunction but also a multifunction peripheral capable of exerting theprinting function and other functions, a manufacturing apparatus capableof generating an image and a pattern on recording paper, and the like.

FIG. 2 is a block diagram schematically illustrating a configuration ofa printing system according to an exemplary embodiment of the presentinvention. The printing system illustrated in FIG. 2 includes areception apparatus 201 for receiving an image to be printed and a printrequest from a user, and a printing apparatus 213 for printing the imagewhich the user instructs the printing system to print. The receptionapparatus 201 and the printing apparatus 213 are communicably connectedto each other via a communication network such as the Internet(hereinafter referred to as “network”). The apparatuses 201 and 213include an image processing unit 205 (first image processing unit) andan image processing unit 217 (second image processing unit),respectively. Processing of an input image is divided to the pluralityof image processing units 205 and 217 and processed thereby, and thenthe processed image is printed by a printing unit 220.

The reception apparatus 201 includes an image input unit 202, a userinterface 203 (operation unit, hereinafter referred to as “UI unit”), areception processing control unit 204, and the image processing unit205. The reception apparatus 201 may include, for example, a personalcomputer (hereinafter abbreviated as “PC”), a photo printer, or adigital camera which a user manipulates.

The image input unit 202 is an input/output interface such as a scanner,a memory card reader, Bluetooth, or a universal serial bus (USB), andacquires image data from the outside. The UI unit 203 includes a touchpanel, a button, and a keyboard, and receives an operation of a user andacquires a print request from the user. The print request includes acorrection instruction indicating an image correction to be completeduntil the image is printed out. Even if a user does not explicitly set acorrection instruction, for example, predetermined image correction maybe set to the apparatus or the application by a default setting, and adefault correction instruction may be issued unless a user changes thedefault setting.

A decoding unit 206 of the image processing unit 205 acquires thecorrection instruction from the UI unit 203, and further, interpretswhether a processing history regarding an image correction and parameteracquirement, and a parameter acquired from the image are attached to theimage data acquired from the image input unit 202 and acquires them.Then, the decoding unit 206 determines processing that the imageprocessing unit 205 performs. The decoding unit 206 includes adictionary for use in interpretation of metadata of various imageformats for decoding an input image, and a document type definition(DTD) which will be described below.

For example, if an image acquired by the image input unit 202 is animage captured by a digital camera, the image may include a correctionhistory indicating that a white balance correction, an exposurecorrection, a color correction, and the like have been performed.Further, in case of an image captured by a digital camera equipped witha face recognition function, for example, a position, a size, and thenumber of faces recognized as parameters may be attached to the image asmetadata. Furthermore, in case of an image that has been processed byanother PC, the image may be provided with information indicating that,for example, a red-eye correction, a color correction, a lightnesscorrection, a saturation correction, a sharpness process, and a dodgingprocess have been performed in addition to processing performed by adigital camera, as a correction history, and parameters related to eachcorrection processing may be attached in association with the correctionhistory.

An update unit 207 of the image processing unit 205 attaches, to animage data, a history of correction processing and detection processingthat the image processing unit 205 has performed to image data, and aparameter related thereto. For example, if the correction instructionindicates beautiful skin correction processing, skin color areadetection processing and face detection processing are performed as theprocessing related to the beautiful skin correction processing, andparameters acquired from each detection processing are recorded by theupdate unit 207. A relationship between detection processing andcorrection processing can be figured out by referring to a division list(refer to FIG. 10) which will be described below.

The update unit 207 attaches a history indicating performed detectionprocessing and correction processing along with parameters used in thecorrection processing to the image data in the eXtensible MarkupLanguage (XML) format. Therefore, the decoding unit 206 stores a DTDwhich defines tags of XML, and interprets the content of a processinghistory written in XML by referring to the DTD. The update unit 207 mayupdate the correction instruction acquired from the reception processingcontrol unit 204, and may attach the updated instruction to the imagedata in the XML format, similar to the processing history.

The reception processing control unit 204 causes the image processingunit 205 to perform image processing, and then transmits the image datawhich the user requests to print, the correction instructioninformation, the updated correction history, and a parameter detected bythe reception unit 201 to the printing apparatus 213 as a print job.

The printing apparatus 213 includes a UI unit 215, an integration unit216, the image processing unit 217, and the printing unit 220.

Apparatus setting specific to the printing apparatus 213 is performed bythe UI unit 215. As illustrated in FIG. 8, the apparatus settingindicates that any one of conditions “EXECUTE: execute if there is nohistory”, “REQUIRED: always execute regardless of existence or absenceof history”, and “SKIP: do not execute at the apparatus itself” is setfor each correction processing that the printing apparatus 213 canperform.

The integration unit 216 generates a correction instruction to betransmitted to the image processing unit 217 based on the correctioninstruction and the processing history that the printing control unit214 has acquired from the reception apparatus 201, and the apparatussetting acquired from the UI unit 215. The integration unit 216 storesthe above described DTD, and interprets the processing history that theupdate unit 207 has attached to the image data in the XML format. If theupdate unit 207 also writes the correction instruction in the XMLformat, the integration unit 216 needs to store the DTD which definesthe correction instruction in the XML format.

The printing control unit 214 receives, from the reception apparatus201, the image data which is a print target, the parameter used in theprocessing of the image data, and the correction instruction to theimage data which is a print target. Then, the printing control unit 214transmits, to the image processing unit 217, the correction instructionthat the integration unit 216 has integrated for the image data alongwith the image data and the parameter.

The image processing unit 217 determines processing to be performed bythe image processing unit 217 itself based on the acquired correctioninstruction, and performs the determined processing. The printing unit220 prints the image to which the image correction by the imageprocessing unit 217 has been completed. The printing apparatus 213 isembodied by a printer 100 illustrated in FIG. 1, the details of whichwill be described below.

Next, the outline of the processing of printing an image using theprinting system illustrated in FIG. 2 will be described with referenceto the flowchart illustrated in FIG. 3.

First, in step S301, the image input unit 202 of the reception apparatus201 receives image data and a print request from a user. The printrequest contains a setting of the image correction that the user wantsto apply to the image.

In step S302, the decoding unit 206 of the reception apparatus 201acquires a correction instruction from the print request. Further, ifthe image data input from the image input unit 202 includes a processinghistory and a parameter attached thereto, the decoding unit 206 acquiresthe attached processing history and parameter.

Next, in step S303, the decoding unit 206 of the reception apparatus 201determines processing to be performed by the apparatus (the imageprocessing unit 205 in this case) based on the correction instruction,the processing history, and the parameter.

In step S304, the image processing unit 205 performs the processingdetermined by the decoding unit 206.

In step S305, the update unit 207 of the reception apparatus 201 updatesthe processing history based on the processing performed by the imageprocessing unit 205, and attaches the updated processing history and therelated parameter to the image data to which the processing has beenperformed.

In step S306, it is determined whether there is a next apparatus whichis supposed to process the image to be printed. In this case, there is anext apparatus (the printing apparatus 213) which process the image (YESin step S306), thus the operation proceeds to step S307. In step S307,the reception processing control unit 204 transmits, to the printingapparatus 213 which is a latter stage, a print job including the imagedata that the user has requested the printing apparatus 213 to print,the correction instruction, the updated correction history, and theparameter detected by the reception apparatus 201.

At the printing apparatus side, the decoding unit 218, the update unit219, and the image processing unit 217 performs the processing from theabove described steps S302 to S306 (the detail description thereof areomitted).

In step S306, if there is no next apparatus which is supposed to processthe image to be printed (NO in step S306), the operation proceeds tostep S308 where the image processing unit 217 generates rendering datafor printing, and the printing unit 220 prints the image based on therendering data.

Next, the processing performed by the decoding unit 206 (or the decodingunit 218) will be described with reference to the flowchart illustratedin FIG. 5. First, in step S501, the decoding unit 206 reads thecorrection instruction and the processing history, and updates thecorrection instruction based on the processing history. In step S502,the decoding unit 206 determines detection processing and correctionprocessing to be performed by the image processing unit 205 (or theimage processing unit 217). A method for updating the correctioninstruction based on the processing history will be described in detailbelow.

As a method for determining which detection processing and correctionprocessing to be performed by the image processing unit 205 (or 217) ofthe apparatus itself, detection processing related to correctionprocessing indicated by the correction instruction is preferentiallyperformed by the reception apparatus 201, and the remaining processingindicated by the correction instruction are performed by the printingapparatus 213. Alternatively, whether the image processing unit of thatapparatus needs to perform processing may be determined based on, forexample, processing loads on the respective apparatuses and a type ofprint job.

If the detection processing is included in the processing determined instep S502 (YES in step S503), the operation branches from step S503 tostep S504, and the detection processing is performed to acquire aparameter. Further, in step S505, the processing history and thecorrection instruction are updated, and the acquired parameter isattached to the image. On the other hand, if no detection processing isdetermined as processing to be performed (NO in step S503), theoperation proceeds to step S506.

In step S506, it is determined whether the correction processing isincluded in the processing determined in step S502. If it is determinedthat no correction processing included in the processing to be performed(NO in step S506), the operation is ended. On the other hand, if thereis the correction processing in the processing determined in step S502(YES in step S506), the operation proceeds to step S507 where thatcorrection processing is performed.

Then in step S508, an output result of the correction processing isconfirmed. If an error occurs (YES in step S508), the operation proceedsto step S509 and the error occurrence is notified to the receptionprocessing control unit 204 (or the printing control unit 214) whichwill be described below. On the other hand, if no error occurs (NO instep S508), the operation proceeds to step S510 where the processinghistory is updated based on the performed correction processing, andthen the operation is ended.

Next, the processing that the integration unit 216 of the printingapparatus 213 updates the correction instruction by referring to theprocessing history and the correction instruction contained in the printjob will be described below with reference to the flowchart illustratedin FIG. 4.

First, in step S401, the integration unit 216 acquires the apparatussetting. Subsequently, in step S402, the integration unit 216 reads theprocessing history and the correction instruction (a table 302)contained in the print job. Then, in step S403, the integration unit 216integrates the apparatus setting to the correction instruction. In stepS402, if there is no correction instruction attached to the print job,then in step S403, the content indicated in the apparatus setting isconverted as the correction instruction.

Next, the processing of integrating the apparatus setting and theprocessing history (step S403 in FIG. 4), and the processing of updatingthe correction instruction based on the processing history (step S404 inFIG. 4) will be described in detail below with reference to FIG. 9. Atable 301 illustrated in FIG. 9 is generated from an apparatus setting802 illustrated in FIG. 8. The table 302 indicates the correctioninstruction and the processing history acquired by the integration unit216 from the reception apparatus 201. A table 303 indicates thecorrection instruction and the processing history updated by theintegration unit 216 based on the tables 302 and 301.

In the apparatus setting 802 illustrates in FIG. 8, “BEAUTIFUL SKINCORRECTION”, “NOISE REMOVAL (NOISE CORRECTION)”, and “SCENE CORRECTION”are set as “EXECUTE”, “NOISE CORRECTION” and “SCENE CORRECTION” are setas “REQUIRED”, and further, “RED-EYE CORRECTION” is set as “SKIP”, andthese settings are stored. A condition is not set for “SHARPNESS”. Basedon the apparatus setting 802, the processing items set as “EXECUTE” and“REQUIRED” are converted as the correction instruction, and theprocessing items set as “SKIP” are converted as the processing history,so that an apparatus setting table 301 is generated. In the table 302,“NOISE REMOVAL”, “BEAUTIFUL SKIN CORRECTION”, and “BACKLIGHT CORRECTION”are set as items of “CORRECTION INSTRUCTION”, and “BEAUTIFUL SKINCORRECTION” is set as an item of “PROCESSING HISTORY”.

First, the integration unit 216 adds “NOISE REMOVAL” to “CORRECTIONINSTRUCTION” of the table 303, since “NOISE REMOVAL” is set as the itemof “CORRECTION INSTRUCTION” in the tables 301 and 302. On the otherhand, “BEAUTIFUL SKIN CORRECTION” is set as the item of “CORRECTIONINSTRUCTION” in table 301, but is set as the item of “PROCESSINGHISTORY” in table 302. Therefore, the integration unit 216 adds“BEAUTIFUL SKIN CORRECTION” to “PROCESSING HISTORY” in the table 303.Similarly, “SCENE CORRECTION” is set as the item of “CORRECTIONINSTRUCTION” in the table 301, but is set as neither the item of“CORRECTION INSTRUCTION” nor the item of “PROCESSING HISTORY” in thetable 302. Therefore, the integration unit 216 adds “SCENE CORRECTION”to “CORRECTION INSTRUCTION” in the table 303. If the “REQUIRED” flag isset to “BEAUTIFUL SKIN CORRECTION, the integration unit 216 sets“BEAUTIFUL SKIN CORRECTION” to “CORRECTION INSTRUCTION” in the table303, even if “BEAUTIFUL SKIN CORRECTION” is set as the item of“PROCESSING HISTORY” in the table 302.

Since “RED-EYE CORRECTION” is set as the item of “CORRECTIONINSTRUCTION” in the table 302, the integration unit 216 adds “RED-EYECORRECTION” to “PROCESSING HISTORY” in the table 303, so that the imageprocessing unit 217 of the printing apparatus 213 skips “RED-EYECORRECTION”.

Further, “BACKLIGHT CORRECTION” is set as the item of “CORRECTIONINSTRUCTION” in the table 302, while the apparatus setting 802 of theprinting apparatus 213 does not include the item “BACKLIGHT CORRECTION”.This means that the image processing unit 217 of the printing apparatus213 is not provided with the backlight correction function.

Further, the integration unit 216 can arrange such that the correctioninstruction which has once caused an error is removed to be skipped byadding the correction instruction which has caused an error history tothe processing history during the integration processing. To cause theintegration unit 216 to add the correction instruction which has causedan error to the processing history to skip the correction instruction,the setting “PERFORM INTEGRATION WHEN CORRECTION ERROR OCCURS” isselected at the integration setting 801 in advance.

The outline of the processing performed by the printing control unit 214when an error occurs will now be described with reference to theflowchart illustrated in FIG. 6. First, in step S601, it is determinedwhether the integration unit 216 performs correction instructionintegration processing based on the integration setting 801 set by theUI unit 215 to the printing control unit 214. It should be noted that,in the integration setting 801, both “PERFORM INTEGRATION WHENCORRECTION ERROR OCCURS” and “ALWAYS PERFORM INTEGRATION” can beconcurrently selected. On the other hand, when “DO NOT PERFORMINTEGRATION” is selected, neither “PERFORM INTEGRATION WHEN CORRECTIONERROR OCCURS” nor “ALWAYS PERFORM INTEGRATION” can be selected.

If it is determined in step S601 that the correction instruction isintegrated (YES in step S601), the operation proceeds to step S602 wherethe printing control unit 214 causes the integration unit 216 to performthe integration processing and acquires the updated correctioninstruction. In step S603, the printing control unit 214 calls the imageprocessing unit 217 which then performs the processing indicated by thecorrection instruction updated in step S602. In step S604, it isdetermined whether the correction processing is successful. If thecorrection processing is successful (YES in step S604), the operationproceeds to step S605, and the printing control unit 214 calls theprinting unit 220. The printing unit 220 prints the processed image, andthen the printing processing is ended.

On the other hand, in step S604, if an error occurs in the correctionprocessing (NO in step S604), the operation proceeds to step S606 whereit is determined whether the setting of the integration setting 801 is“PERFORM INTEGRATION WHEN CORRECTION ERROR OCCURS”.

If the setting of the integration setting 801 is not “PERFORMINTEGRATION WHEN CORRECTION ERROR OCCURS” (NO in step S606), theoperation proceeds to step S607 and the printing control unit 214notifies the UI unit 215 of the error occurrence, and the operation isended. On the other hand, if the setting of the integration setting 801is “PERFORM INTEGRATION WHEN CORRECTION ERROR OCCURS” (YES in stepS606), the operation proceeds to step S608. In step S608, theintegration flag is set to ON, and the operation returns to step S601.Setting the integration flag to ON causes the operation to proceed fromstep S601 to step S602 and thereby the integration processing to beperformed. The correction instruction that has caused the error is addedto the processing history by the integration unit 216 so that the imageprocessing unit 217 skips the corresponding processing.

[Division of Processing]

The decoding unit 206 (or the decoding unit 218) determines processingto be performed by the apparatus of its own by referring to the divisionlist which indicates a relationship between detection processing andcorrection processing. For this purpose, the decoding unit 206 (or thedecoding unit 218) has the division list for dividing processingindicated by the correction instruction into a plurality of processingitems. FIG. 10 illustrates a part of the division list (a division list1001 of red-eye correction) and correspondence relationships 1002 whenred-eye correction, beautiful skin correction, and noise correction aredivided, respectively.

The division list includes processing items into which correctionprocessing indicated by each correction instruction is divided, an orderof execution of the processing, an attribute (correction or detection)of each divided processing, and a flag indicating whether the dividedprocessing is omissible.

For example, as illustrated in the division list 1001, the red-eyecorrection can be divided into four processing items “COLORREPLACEMENT”, “PUPIL AREA EXTRACTION”, “FACE AREA EXTRACTION”, and “SKINCOLOR AREA EXTRACTION”. The beautiful skin correction can be dividedinto three processing items “SKIN COLOR AREA EXTRACTION”, “NOISE (DUSTAND DIRT) EXTRACTION”, and “CORRECTION BY INTERMEDIATE VALUE FILTER (notshown)”. If the correction instruction acquired by the decoding unit 206(or the decoding unit 218) includes “RED-EYE CORRECTION”, the decodingunit 206 (or the decoding unit 218) searches the print job for theprocessing history of the red-eye correction, then continues thesearches for the processing history of each of “PUPIL AREA EXTRACTION”,“FACE AREA EXTRACTION”, and “SKIN COLOR AREA EXTRACTION” in this order.If there is a corresponding processing history, the decoding unit 206acquires a parameter related to the history, and transmits processingthat is not yet performed among the divided processing items to theupdate unit 207 (or the update unit 219) as the correction instruction.

Then, the decoding unit 206 (or the decoding unit 218) determines whichprocessing the image processing unit 205 (or the image processing unit217) of the own apparatus is made to perform by referring to theattribute of the processing in the division list. Processing with theomissible flag set thereto may be skipped if there is no processinghistory and parameter related thereto. For example, for the red-eyecorrection, if a face area and a skin color area can be specified, anarea where a pupil area is searched for can be narrowed down in advanceand the processing can be speeded up, but execution of these areas isnot always indispensable.

A use of such a division list enables recognition of detectionprocessing that can be partially shared by a plurality of correctionprocessing items. For example, the top row of the correspondencerelationship 1002 indicates the relationship between the detectionprocessing and the correction processing of the division list for thered-eye correction (arrows indicate the order of execution). Further,the correspondence relationship 1002 reveals that the skin colorextraction processing can be used for the red-eye correction and thebeautiful skin correction, and that the noise extraction processing canbe used for the beautiful skin correction and the noise correction.Therefore, storing the division list for each correction processingenables detection processing used for each correction processing to bepartially shared, thereby realizing further effective distributedprocessing. The integration unit 216 may store the division list andperform the same processing.

[Printing Apparatus]

In the following, a structure of a printing apparatus will be describedin detail. FIG. 1 schematically illustrates a structure of the printer100 which uses a roll sheet (a continuously lengthened continuous sheethaving a length in a conveyance direction that is longer than a printsize) as a recording medium, partially in cross-section so that theinner structure thereof can be well understood. The printer 100 includesa roll sheet unit 101, a conveyance unit 102, a conveyance encoder 103,rotation rollers 104, a cutter unit 110, a sheet take-up unit 113, and asorter unit 114 as a conveyance system. Further, the printer 100includes a head unit 105, printing heads 106, a scanner unit 107, acontrol unit 108, ink tanks 109, a back surface printing unit 111, and adrying unit 112 as a printing system. Furthermore, the printer 100includes an operation unit 115 as an operation system.

The control unit 108 includes a control unit provided with a controller,a user interface, and various input/output (I/O) interfaces, and is incharge of various types of control of the entire apparatus. Further, thecontrol unit 108 includes the above described printing control unit 214and image processing unit 217. If bitmap data is not transmitted whilethe printer 100 is in a continuously printable state after a page isprinted out, the control unit 108 stops the conveyance system of theroll sheet lest the roll sheet is consumed in vain (sheets without anydata thereon continue to be output).

The roll sheet unit 101 includes two cassettes, an upper sheet cassette101 a and a lower sheet cassette 101 b. A user sets a roll sheet(hereinafter referred to as “sheet”) by mounting the sheet onto acontainer and inserting it into the cassette of the printer 100 from thefront of the cassette. The sheet pulled out from the upper sheetcassette 101 a or the lower sheet cassette 101 b by the roll sheet unit101 is conveyed in the direction indicated by an arrow “a” or an arrow“b” as viewed in FIG. 1. The sheet from the roll sheet unit 101 advancesin the direction indicated by an arrow “c” as viewed in FIG. 1 to reachthe conveyance unit 102. The conveyance unit 102 includes a plurality ofthe rotation rollers 104, and conveys the sheet in the directionindicated by an arrow “d” (the horizontal direction) as viewed inFIG. 1. Two or more cassettes may be provided according to the number oftypes of roll sheet.

The head unit 105 is disposed so that the head unit 105 faces onesurface of the sheet being conveyed, and generates an image on the sheetby discharging ink from nozzles of the printing heads 106 onto the sheetbeing conveyed based on the print data. The present exemplary embodimentis configured so that seven printing heads 106 are disposed along the ddirection to enable even printing with use of up to seven types of inks.The ink tanks 109 independently contain inks of various colors. A methodfor discharging inks from the nozzles may be embodied by, for example, amethod using heating elements, a method using piezoelectric elements, amethod using electrostatic elements, or a method using micro electromechanical system (MEMS) elements. Further, discharge timing of theprinting heads 106 is determined by an output signal from the conveyanceencoder 103.

The scanner unit 107 checks whether printing is normally performed or astate of the apparatus by reading a printed image and a special pattern(marker) on the sheet.

The sheet conveyed from the scanner unit 107 is conveyed in thedirection indicated by an arrow “e”, and the cutter unit 110 cuts thesheet per length of a predetermined print size if the sheet needs to becut. The print size is determined in advance according to specificationfrom a print mode, a user's instruction, or a size of an image to beprinted. For example, when printing of only one side is completed in thetwo-sided printing mode, the sheet is not cut. Further, in case ofprinting an L-size photograph, the sheet is cut to have a length of 135mm in the conveyance direction. In case of printing an A4-size sheet,the sheet is cut to have a length of 297 mm in the conveyance direction.

The sheet cut by the cutter unit 110 is conveyed in the directionindicated by an arrow “f” as viewed in FIG. 1, and the back surfaceprinting unit 111 prints information (for example, a number for ordermanagement) for each printed image on the reverse surface of the printedsurface of the sheet.

The drying unit 112 heats the sheet by hot air to dry the sheet with inkprovided thereon in a short time. The sorter unit 114 includes aplurality of trays (22 trays in the present exemplary embodiment), andsorts conveyed sheets and stacks them onto set trays while checking themby a sensor. The sorter unit 114 selects a tray onto which sheets arestacked according to, for example, the length of the print size.Further, the sorter unit 114 indicates a condition such as stacking inprogress or completion of stacking using, for example, a light-emittingdiode (LED). The sorter unit 114 will be described in detail below.

The sheet take-up unit 113 takes up a sheet at which printing on onesurface has been completed when the printer 100 is in the two-sidedprinting mode, and conveys the taken-up sheet in the direction indicatedby an arrow “K” as viewed in FIG. 1 to enable printing on the backsurface after printing on the one surface has been completed.

Further, the operation unit 115 receives an instruction from a user tochange the settings of the printer 100 and check the condition. Forexample, the operation unit 115 notifies a user of which tray outputprinted products are stacked, a print mode of the printer 100 and thecondition thereof (for example, ready for printing, print in progress,or completion), and maintenance information (for example, a remainingink amount, a remaining sheet amount, and a time elapsed since last headcleaning).

Although the ink-jet image processing apparatus has been described inthe above example, the present invention may be applied to not only aprinting method with use of a toner instead of ink but also variousprinting methods. Examples of the printing methods include a thermalprinter (for example, the dye sublimation type or the thermal transfertype), a dot impact printer, an LED printer, and a laser printer.

As described above, according to the present exemplary embodiment, it ispossible to reduce redundancy of processing to improve the processingefficiency of the system.

Further, it is possible to prevent deterioration of the image qualitydue to coding and reduce an increase in a traffic amount betweenapparatuses, and effectively distribute a load of image correctionprocessing to improve the processing efficiency of the system.

FIG. 7 schematically illustrates a configuration of a printing systemaccording to another exemplary embodiment of the present invention.Components which have similar functions will be denoted by the samereference numerals as those in the above discussed exemplary embodiment,and the descriptions thereof will be omitted. In the printing systemwhich will be described below, an image processing server 208 isdisposed between the reception apparatus 201 and the printing apparatus213. It is desirable that the image processing server 208 is configuredto be usable for cloud computing.

The image processing server 208 includes a dictionary database 701(dictionary storage unit, hereinafter referred to as “dictionary DB”),and may be capable of performing recognition processing more difficultthan recognition processing that the reception apparatus 201 canperform. For example, the dictionary DB 701 includes a dictionary fordetection of a whole body or a face of an animal other than a humanbeing such as a dog and a cat. Due to the provision of the dictionary,it becomes possible to perform image correction for enhancing an edge orcontrast of a detected target even if a subject is, for example, ananimal. In addition, the image processing server 208 can perform moreaccurate detection processing by referring to the dictionary owned bythe dictionary DB 701.

Therefore, a decoding unit 211 of the image processing server 208 cancause an image processing unit 210 to perform the detection processingpreferable to be performed by referring to the dictionary, even if thedetection processing has been performed by the reception apparatus 201.

Further, if the network between the image processing server 208 and theprinting apparatus 213 has a more excellent data transfer rate than thedata transfer rate of the network between the reception apparatus 201and the image processing server 208, even if the correction processingis performed by the image processing server 208, the corrected image istransmitted to the printing apparatus 213 as it is without compressing.Further, the image processing server 208 can preferentially perform thecorrection processing for which high-level recognition processing withusing the dictionary DB 701 is necessary.

The image processing server 208 includes an apparatus database 702(hereinafter referred to as “apparatus DB 702”) storing informationrelated to a plurality of printing apparatuses including the printer 100illustrated in FIG. 1. A use of the apparatus DB 702 enables the imageprocessing server 208 to perform processing which is indicated by acorrection instruction included in a print job from the receptionapparatus 201 but cannot be performed by the printing apparatus 213 asan output destination since the printing apparatus 213 is not providedwith a corresponding function. Further, the image processing server 208may select the printing apparatus 213 capable of handling the processingindicated by the correction instruction included in the print job fromthe reception apparatus 201 and cause the selected printing apparatus213 to output the print job.

In some cases, a parameter used in processing is required to have highaccuracy depending on a type of the correction processing. In such acase, even if the detection processing has been already performed by thereception apparatus 201, the detection processing may be performed againby the printing apparatus 213.

In the above described exemplary embodiment, the reception apparatus 201does not perform image correction processing except for the detectionprocessing. However, the image processing unit 205 may perform reductionconversion of an image, if the reception apparatus 201 can acquireinformation indicating a print resolution of the printing apparatus 213and resolution of the image input by the image input unit 202 isexcessively high relative to the print resolution.

Further, the decoding unit may not search for a processing history, andthe printing apparatus 213 may be provided with a special mode forprocessing an image based on image data included in a print job and theapparatus setting. For example, when a user's print request requires anormal print on an inexpensive A4-size copy sheet, since it can beunderstood that the print job does not have to perform many kinds ofprocessing to the image data and search of the processing history maynot be necessary, printing under the special mode can provide asufficient result.

Further, a correction instruction received from the UI unit 203 may beconverted into XML data by the reception processing control unit 204,and after that, the correction instruction and processing history may bewritten and managed in the XML format.

In the above described exemplary embodiment, the image processing unit205 in the printing system performs only the detection processing ofprocessing items indicated by the correction instruction from the UIunit 203 by way of example. However, the image processing unit 205 mayperform image correction as long as a print request is not yet issued,like a commonly-used PC, a digital camera, and a photo printer.

In the above description, only the configuration in which integration ispreformed in the printing apparatus 213 has been discussed. However, theintegration unit may be provided to the reception apparatus 201 and theimage processing server 208, and integration processing may be performedat the respective apparatuses. Further, the apparatus setting may beregistered at the respective apparatuses.

In the above description, the integration processing has been described,assuming that a correction instruction and a processing history areconverted into a table as illustrated in FIG. 9. However, this is merelyto facilitate understanding of this processing. A correction instructionand a processing history may not be stored in the table format, and maynot be converted to the table format at the time of integrationprocessing.

In the above description, connection of information such as a correctioninstruction, a processing history, and a parameter to image data isexpressed as the term “attached”. However, such information may beinserted in metadata area of a format of image data, may be providedsuccessively before or after image data, or may be just added to pagedescription language (PDL) data including image data.

Further, the processing of the integration unit 216 may be omitted bychanging the integration setting 801 to the “ALWAYS OMIT INTEGRATION”setting according to the content of the apparatus setting 802. Forexample, if there is no processing set in the apparatus setting 802,omission of the integration processing does not change the result.Therefore, in this case, the processing may be simplified by omittingthe integration processing and causing the image processing unit 217 toprocess an image by directly reflecting the correction instruction fromthe reception apparatus 201 (or the image processing server 208). Inaddition, if there is only processing set to “NORMAL” in the apparatussetting 802, the integration processing may be omitted.

Alternatively, if the setting “ALWAYS OMIT INTEGRATION” is selected atthe integration setting 801, the correction instruction acquired by theprinting apparatus 213 may be invalidated, and the integrationprocessing may be performed so that a new correction instruction can begenerated from the apparatus setting.

Further, in the above description, for simplification of description,the processing history and the correction instruction are handled asclearly separated data. However, the processing history may be a flagincluded in each command indicated by the correction instruction. Forexample, if the correction instruction is written in the XML language,the processing history can be embodied by associating a flag indicatingwhether the processing has been already performed to a tag indicating acommand included in the correction instruction.

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (e.g., computer-readable storage medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all modifications, equivalent structures, and functions.

This application claims priority from Japanese Patent Application No.2010-105626 filed Apr. 30, 2010, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image processing apparatus comprising: areception unit configured to receive an image and a correctioninstruction with respect to the image; a decoding unit configured todivide the correction instruction received by the reception unit intodetection processing and correction processing, wherein a parameter isacquired by performing the detection processing to the image; anacquisition unit configured to acquire a history of image processingperformed to the image from the image; an update unit configured toupdate the correction instruction based on the history; an imageprocessing unit configured to perform processing indicated by thecorrection instruction updated by the update unit to the image based onthe parameter; and a transmission unit configured to transmit thecorrection instruction and the image processed by the image processingunit to another image processing apparatus.
 2. The image processingapparatus according to claim 1, wherein the acquisition unit acquires aparameter extracted from the image by the image processing having thehistory, and the image processing unit performs the processing indicatedby the correction instruction to the image based on the parameter. 3.The image processing apparatus according to claim 1, wherein the updateunit updates the correction instruction by deleting an instructionrelated to the processing that the image processing unit has performed,among the processing indicated by the correction instruction.
 4. Theimage processing apparatus according to claim 1, wherein: the receptionunit includes an operation unit configured to input an apparatussetting; and the image processing apparatus further comprises anintegration unit configured to update the correction instruction basedon the apparatus setting input by the operation unit and the history. 5.The image processing apparatus according to claim 1, further comprisinga printing unit configured to print the image processed by the imageprocessing unit.
 6. The image processing apparatus according to claim 1,further comprising a dictionary storage unit configured to store adictionary to be used in the detection processing, wherein the imageprocessing unit acquires the parameter by performing the detectionprocessing to the image based on the dictionary storage unit.
 7. Theimage processing apparatus according to claim 1, wherein the update unitupdates the correction instruction into data written in eXtensibleMarkup Language (XML).
 8. A non-transitory computer-readable storagemedium storing a program causing a computer to function as an imageprocessing apparatus according to claim
 1. 9. A printing apparatusconfigured to print an image which is processed by an image processingapparatus, wherein: the image processing apparatus comprises an inputunit configured to receive an image and a correction instruction withrespect to the image, a first image processing unit configured toperform at least one of a plurality of items of processing indicated bythe correction instruction, an update unit configured to update aprocessing history and the correction instruction with respect to theimage based on the processing performed by the first image processingunit, and a transmission unit configured to transmit the image to whichthe first image processing unit has performed the processing, and theprocessing history and the correction instruction updated by the updateunit to the printing apparatus; and the printing apparatus comprises asecond image processing unit configured to acquire the image, theprocessing history, and the correction instruction from the imageprocessing apparatus, and perform processing to the image based on thecorrection instruction and the processing history, and a printing unitconfigured to print the image processed by the second image processingunit.